package com.party.course.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.party.course.mapper.DropClassInfoMapper;
import com.party.course.domain.DropClassInfo;
import com.party.course.service.IDropClassInfoService;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.party.common.utils.SecurityUtils;

/**
 * 退课信息Service业务层处理
 *
 * @author ruoyi
 * @date 2025-06-10
 */
@Service
public class DropClassInfoServiceImpl extends ServiceImpl<DropClassInfoMapper, DropClassInfo> implements IDropClassInfoService {
    @Autowired
    private DropClassInfoMapper dropClassInfoMapper;

    /**
     * 查询退课信息
     *
     * @param id 退课信息主键
     * @return 退课信息
     */
    @Override
    public DropClassInfo view(String id) {
        return dropClassInfoMapper.selectDropClassInfoById(id);
    }

    /**
     * 查询退课信息列表
     *
     * @param dropClassInfo 退课信息
     * @return 退课信息
     */
    @Override
    public List<DropClassInfo> findList(DropClassInfo dropClassInfo) {
        return dropClassInfoMapper.selectDropClassInfoList(dropClassInfo);
    }

    /**
     * 新增退课信息
     *
     * @param dropClassInfo 退课信息
     * @return 结果
     */
    @Override
    public int add(DropClassInfo dropClassInfo) {
        dropClassInfo.setId(IdUtil.simpleUUID());
        dropClassInfo.setDelFlag("0");
        return dropClassInfoMapper.insert(dropClassInfo);
    }

    /**
     * 修改退课信息
     *
     * @param dropClassInfo 退课信息
     * @return 结果
     */
    @Override
    public int updateEntity(DropClassInfo dropClassInfo) {
        dropClassInfo.setUpdateTime(DateUtil.date());
        return dropClassInfoMapper.updateById(dropClassInfo);
    }

    /**
     * 批量删除退课信息
     *
     * @param ids 需要删除的退课信息主键
     * @return 结果
     */
    @Override
    public int deleteIds(List<String> ids) {
        return dropClassInfoMapper.deleteDropClassInfoByIds(ids);
    }

    /**
     * 删除退课信息信息
     *
     * @param id 退课信息主键
     * @return 结果
     */
    @Override
    public int deleteById(String id) {
        return dropClassInfoMapper.deleteDropClassInfoById(id);
    }
}
